When a processing error occurs (called a checkstop), the data in various registers of a processor which are connected in a scan chain are scanned out in order to diagnose and recover from the error. Diagnosis is typically handled by an external service element while recovery is handled by a so far unused processor (spare processor). When an error occurs, error recovery code (implemented in millicode running on a millicode interface) extracts the data from the registers by using the scan chains in efforts to minimize the impact of the hardware failure to the operating system and the applications. If the error recovery code is interrupted in the middle of a checkstop scan by an event that leads to a system checkstop where the millicode interface is shut down, the scan chains will only be partially rotated and error recovery will be difficult or impossible. Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.